// ==UserScript== // @name 宝可梦点击(Poke Clicker)辅助脚本 [额外设定] Script // @namespace PokeClickerHelper // @version 0.1.0 // @description 在 开始菜单 => 设置 => 新增了一些额外设定的功能可自行开启! // @author 苍猫 // @match http://localhost:3000/ // @match http://127.0.0.1:60080/pokeclicker/* // @match file:///I:/pokeclicker-develop/build/index.html // @match https://www.pokeclicker.com // @match https://g8hh.github.io/pokeclicker/ // @match https://pokeclicker.g8hh.com // @match https://yx.g8hh.com/pokeclicker/ // @icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/319hf99fYX/fX2F/319hf8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////99fYX/fX2F/319hf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////wAAAP8AAAD/fX2F/319hf99fYX/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD/AAAA/wAAAP99fYX/fX2F/wAAAP8AAAD/AAAA/319hf8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/HBT//xwU//8AAAD//////319hf8AAAD/Dgim/w4Ipv8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/HBT//xwU//8cFP//HBT//wAAAP8AAAD/Dgim/w4Ipv8OCKb/Dgim/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA/xwU//8cFP//HBT//xwU/44cFP//HBT//xwU//8cFP//Dgim/w4Ipv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HBT//xwU/47/////HBT/jhwU//8cFP//HBT//w4Ipv8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/xwU//8cFP//HBT/jhwU//8OCKb/Dgim/w4Ipv8OCKb/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/xwU//8OCKb/Dgim/w4Ipv8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAPw/AADwDwAA4AcAAOAHAADAAwAAwAMAAMADAADAAwAA4AcAAOAHAADwDwAA/D8AAP//AAD//wAA//8AAA== // @grant none // @license MIT // @run-at document-end // ==/UserScript== /* global App, $, PokeClickerHelper, GameConstants, player, PokemonShops:true, Shop, ItemList, MapHelper, TownList, EvolutionStone, pokeLeagueShop*/ if (typeof PokeClickerHelper == typeof void 0) { alert('宝可梦点击(Poke Clicker)辅助脚本 [额外设定] Script加载失败\n\n未找到核心模块,需要先安装核心模块才可正常使用\n\n论坛主页:https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3842') window.open("https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3842") return } // UI相关 PokeClickerHelper.UIScript.push(` `) // 初始化后加载功能 客户端模式 JSON.parse(PokeClickerHelper.get('ClientStatus', 'false')) ? App.isUsingClient = true : App.isUsingClient = false let fuc = () => { // 初始化 ScriptSetting.initialize('ClientStatus', '#PokeClickerHelperClientStatus')//客户端模式 ScriptSetting.initialize('PokeShopStatus', '#PokeClickerHelperPokeShopStatus')//宝可梦商店 ScriptSetting.initialize('WharfStatus', '#PokeClickerHelperWharfStatus')//码头 ScriptSetting.initialize('HideWildPokemonStatus', '#PokeClickerHelperHideWildPokemonStatus')//隐藏道路宝可梦信息 // 初始化商店数据 ConvenientStore.initialize() // 初始化后加载功能 if (JSON.parse(PokeClickerHelper.get('PokeShopStatus', 'false'))) ConvenientStore.LoadFunction()//宝可梦商店 if (JSON.parse(PokeClickerHelper.get('PokeShopStatus', 'false'))) ScriptSetting.LoadWharf()//码头 if (JSON.parse(PokeClickerHelper.get('HideWildPokemonStatus', 'false'))) PokeClickerHelper.hookGameTickList.add(ScriptSetting.HideWildPokemon)//隐藏道路宝可梦信息 } const listener = () => { // 客户端模式 checkbox 监听 $('#PokeClickerHelperClientStatus').on('change', function () { if (JSON.parse(PokeClickerHelper.get('ClientStatus', 'false'))) { PokeClickerHelper.set('ClientStatus', 'false') } else { PokeClickerHelper.set('ClientStatus', 'true') } PokeClickerHelper.Notify({ title: '宝可梦点击(Poke Clicker)辅助脚本', message: "客户端模式设置成功,请重新刷新游戏!" }); }) // 宝可梦商店 checkbox 监听 $('#PokeClickerHelperPokeShopStatus').on('change', function () { if (JSON.parse(PokeClickerHelper.get('PokeShopStatus', 'false'))) { PokeClickerHelper.set('PokeShopStatus', 'false') ConvenientStore.LoadFunction('remove') } else { PokeClickerHelper.set('PokeShopStatus', 'true') ConvenientStore.LoadFunction() } }) // 宝可梦商店 button 监听 $('#PokeClickerHelperPokemonShops').on('click', function () { PokeClickerHelper.ConvenientStore.OpenShops(); }) // 码头 checkbox 监听 $('#PokeClickerHelperWharfStatus').on('change', function () { if (JSON.parse(PokeClickerHelper.get('WharfStatus', 'false'))) { PokeClickerHelper.set('WharfStatus', 'false') ScriptSetting.LoadWharf('remove') } else { PokeClickerHelper.set('WharfStatus', 'true') ScriptSetting.LoadWharf() } }) // 码头 button 监听 $('#PokeClickerHelperWharf').on('click', function () { MapHelper.openShipModal(); }) // 隐藏道路宝可梦信息 checkbox 监听 $('#PokeClickerHelperHideWildPokemonStatus').on('change', function () { if (JSON.parse(PokeClickerHelper.get('HideWildPokemonStatus', 'false'))) { PokeClickerHelper.set('HideWildPokemonStatus', 'false') PokeClickerHelper.hookGameTickList.delete(ScriptSetting.HideWildPokemon) } else { PokeClickerHelper.set('HideWildPokemonStatus', 'true') PokeClickerHelper.hookGameTickList.add(ScriptSetting.HideWildPokemon) } }) } PokeClickerHelper.UIContainerID.push("#PokeClickerHelperPokemonShops"); PokeClickerHelper.UICustomFuc.push(fuc); PokeClickerHelper.UIlistener.push(listener); // 暴露对象方法到全局 const ScriptSetting = {}; // 脚本设置变量 const ConvenientStore = {}; // 宝可梦超市变量 PokeClickerHelper.ConvenientStore = ConvenientStore; PokeClickerHelper.ScriptSetting = ScriptSetting; // 初始化的函数 用于初始化复制 和 检查功能checked的状态 ScriptSetting.initialize = (key, id) => { // 初始化赋值 if (PokeClickerHelper.get(key, '') === '') PokeClickerHelper.set(key, 'false') // 检查功能状态 JSON.parse(PokeClickerHelper.get(key, 'false')) ? $(id).prop('checked', true) : $(id).prop('checked', false) } // 加载码头功能 可空 默认加载 cmd = 'remove' 移除 ScriptSetting.LoadWharf = (cmd = 'load') => { if (cmd == 'load') { let text = `` $('#townMap').append(text) } else if (cmd = 'remove') { $("#PokeClickerHelperWharf").remove() } } ScriptSetting.HideWildPokemon = () => { // 移除击败动画 if ($('knockout[data-bind*="App.game.statistics.routeKills"]').length > 0) $('knockout[data-bind*="App.game.statistics.routeKills"]')[0].remove() // 移除宝可梦图片 if ($('img.enemy').length > 0) $('img.enemy')[0].remove() // 移除宝可梦血条 if ($('.progress.hitpoints').length > 0) $('.progress.hitpoints')[0].remove() // 移除宝可梦名字 if ($('knockout[data-bind*="text: Battle.enemyPokemon().name"]').length > 0) $('knockout[data-bind*="text: Battle.enemyPokemon().name"]')[0].remove() // 移除宝可梦是否捕获图标 if ($('knockout[data-bind*="caughtStatusTemplate"').length > 0) $('knockout[data-bind*="caughtStatusTemplate"')[0].remove() } // 加载宝可梦商店功能 可空 默认加载 cmd = 'remove' 移除 ConvenientStore.LoadFunction = (cmd = 'load') => { if (cmd == 'load') { let text = `` $("#shortcutsBody tbody").append(text); } else if (cmd = 'remove') { $("#PokeClickerHelperPokemonShops").parent().parent().remove() } } // 初始化商店物品数据 ConvenientStore.initialize = () => { ConvenientStore.PokeShopItem = new Array; //商店数据 一维数组 Object.keys(GameConstants.Region).filter(stone => isNaN(stone) && stone !== 'none').forEach(RegionNmae => { ConvenientStore.PokeShopItem[GameConstants.Region[RegionNmae]] = new Array; //商店数据 二维数组 //遍历 蛋 Object.values(ItemList).filter(({ name }) => name.includes('egg') && name != 'Lucky_egg' && name != 'Pokemon_egg').forEach(egg => { ConvenientStore.PokeShopItem[GameConstants.Region[RegionNmae]].push(egg) }) //遍历 进化道具 Object.values(TownList).filter(t => t.region === GameConstants.Region[RegionNmae] && t.constructor.name === 'Town').forEach(p => { for (let i = 0; i < p.content.length; i++) { if (p.content[i] instanceof Shop) { for (let j = 0; j < p.content[i].items.length; j++) { if (p.content[i].items[j] instanceof EvolutionStone) ConvenientStore.PokeShopItem[GameConstants.Region[RegionNmae]].push(p.content[i].items[j]) } } } }) //遍历 联盟商店 for (let i = 0; i < pokeLeagueShop().items.length; i++) { ConvenientStore.PokeShopItem[GameConstants.Region[RegionNmae]].push(pokeLeagueShop().items[i]) } }) } // 打开商店方法 根据玩家所在区域进行读取商店物品数据 ConvenientStore.OpenShops = () => { PokemonShops = new Shop(ConvenientStore.PokeShopItem[player.region], GameConstants.camelCaseToString(GameConstants.Region[player.region]) + '(⁎˃ᴗ˂⁎)宝可梦商店'); PokemonShops.protectedOnclick(); }